{{tag>midi qu_est_ce_que_le_midi mao}}

----

====== LinuxSampler ======
<note tip>Article en cour de rédaction</note>
===== Installation =====

==== Pré-requis ====


Pour pouvoir effectuer cette installation un certain nombre de pré-requis sont nécessaires :

  * Les dépôts source doivent être disponibles dans synaptic (décommentez les lignes qui commencent par deb-src dans /etc/apt/sources.list)
  * [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap** ([[apt://debhelper,cdbs,lintian,build-essential,fakeroot,devscripts,pbuilder,dh-make,debootstrap|en 1 clic]]).
  * Installez les paquets **libasound2-dev libjack-dev libjack0 gigtools libgig-dev libgig6** ([[apt://libasound2-dev,libjack-dev,libjack0,gigtools,libgig-dev,libgig6|en 1 clic]])

==== Installation ====
Un dépôt PPA existe 

Installation du depot ppa :
sudo add-apt-repository ppa:falk-t-j/lucid

Mise à jour de la base des applications
sudo apt-get update

Installation de Linuxsampler :
sudo apt-get install linuxsampler jack2 jackd libcelt0-0 libgig6 libjack0 liblinuxsampler gigtools

===== Processeur 64 bits =====

<note tip>La pédagogie et un exemple pratique de modification des dépendances d'un paquet debian me parait un bon moyen pour faire naitre des vocations de MOTU.</note>

Nous allons installer la dernière version LinuxSampler en la compilant d'après les sources de description.

Pour des raisons de licence l'application n'est pas disponible dans les dépôts officiel.

Cette installation est un peux délicate pour un utilisateur non avertis.



==== Pré-requis ====


Pour pouvoir effectuer cette installation un certain nombre de pré-requis sont nécessaires :

  * Les dépôts source doivent être disponibles dans synaptic (décommentez les lignes qui commencent par deb-src dans /etc/apt/sources.list)
  * [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap** ([[apt://debhelper,cdbs,lintian,build-essential,fakeroot,devscripts,pbuilder,dh-make,debootstrap|en 1 clic]]).
  * Installez les paquets **libasound2-dev libjack-dev** ([[apt://libasound2-dev,libjack-dev|en 1 clic]])

==== Préparation de pbuilder ====


On va utiliser l'outil [[:pbuilder]], qui crée un chroot d'un système Ubuntu de base, puis le compresse dans un fichier base.tgz.\\
Lors de l'utilisation de pbuilder pour construire le paquet binaire, le chroot va être décompressé, les Build-Deps installées, et le paquet compilé. S'il manque une Build-Dep, la compilation échouera.\\
Le principal intérêt de pbuilder est de vérifier que les Build Deps sont bonnes (cf. fichier control .dsc).

Pour supporter les dépôts Universe et Multiverse et local

<code bash>
sudo nano $HOME/.pbuilderrc
</code>

Ajouter le texte suivant :

<code vi>
# List of Ubuntu suites. Update these when needed.
UBUNTU_SUITES=("lucid" "karmic" "jaunty" "intrepid" "hardy")

# Mirrors to use. Update these to your preferred mirror.
UBUNTU_MIRROR="fr.archive.ubuntu.com"

COMPONENTS="main restricted universe multiverse"


BUILDRESULT="/var/cache/pbuilder/result/"
APTCACHE="/var/cache/pbuilder/aptcache/"
BUILDPLACE="/var/cache/pbuilder/build/"
BINDMOUNTS="/var/cache/pbuilder/result"
OTHERMIRROR="deb file:///var/cache/pbuilder/result /"
</code>

Permet d'activer l'utilisation des dépôts universe et multiverse sous karmic et de récupérer les paquets construits avec pbuilder (désactivés par défaut).


==== Installation ====
Un dépôt PPA existe sous jaunty 

deb http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu jaunty main

mais pas sous karmic


créer un répertoire ~/packaging

<code bash>
mkdir ~/packaging
cd packaging
</code>

Téléchargez dans ce répertoire les fichiers

http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu/pool/main/libg/libgig/libgig_3.3.0-1.dsc

http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu/pool/main/libg/libgig/libgig_3.3.0-1.diff.gz

http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu/pool/main/libg/libgig/libgig_3.3.0.orig.tar.gz

et

http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu/pool/main/l/linuxsampler/linuxsampler_1.0.0-5.dsc

http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu/pool/main/l/linuxsampler/linuxsampler_1.0.0-5.diff.gz

http://ppa.launchpad.net/david-konsumer/konsumer/ubuntu/pool/main/l/linuxsampler/linuxsampler_1.0.0.orig.tar.gz

=== Compilation et création du paquet binaire ===

== Création du chroot avec pbuilder ==

Création du dépôt local des paquets
<code bash>
sudo su
cd /var/cache/pbuilder/result/
/usr/bin/dpkg-scanpackages . /dev/null > /var/cache/pbuilder/result/Packages
ctrl+d
</code>

Pour initialiser pbuilder, tapez dans votre terminal : 

<code bash>
sudo pbuilder create
</code>

Cette étape peut prendre un certain temps.

== Création des paquets de dépendance ==

Une fois l'étape précédente terminée il ne vous reste plus qu'a taper la commande suivante pour compiler votre paquet source (dans « ~/packaging/ ») :

<code bash>
sudo pbuilder build libgig*.dsc
</code>

Et à laisser mariner… en cas d'erreur de dépendance (eh oui cela peut encore arriver pendant la compilation) reprendre à l'étape **Création du paquet binaire** en ajoutant le paquet manquant avant de lancer le //build//, il est possible d'ajouter plusieurs paquet en les séparants avec une espace :

<code bash>
sudo pbuilder update --extrapackages nomdupaquetmanquant
</code>

Une fois cette étape terminée, vos .deb sont dans **/var/cache/pbuilder/result**

Mise à jour du dépôt local pour créer LinuxSampler
<code bash>
sudo su
cd /var/cache/pbuilder/result/
/usr/bin/dpkg-scanpackages . /dev/null > /var/cache/pbuilder/result/Packages
ctrl+d
</code>

== Création du paquet LinuxSampler ==

Le paquet a un bug sous karmic
Il faut donc le décompacter pour le modifier

<code bash>
dpkg-source -x linuxsampler_1.0.0-5.dsc
cd linuxsampler-1.0.0/debian/
nano control
</code>

Dans la section **Package: linuxsampler** remplacer //libgig (>= 3.3.0)//
<code vi>
Depends: ...libgig6 (>= 3.3.0)
</code>

Dans la section **Package: liblinuxsampler** remplacer //libjack, libgig (>= 3.3.0)//

<code vi>
Depends: ...libjack0, libgig6 (>= 3.3.0)
</code>

Sauvegarder le fichier et Créer une clef de criptage
<code bash>
gpg --gen-key
</code>

Choisissez DSA and ElGamal (default) en tapant 1.
  *Une clef de 2048 bits vous assurera une bonne protection.

Choisissez alors dans combien de temps votre clef expirera. 
  *Vous pouvez rentrer 30 comme nombre de jours pour faire vos premiers essais.

Confirmez par o.

Vous allez alors créer un identifiant pour votre clef :
  -   Il faut d'abord donner Le Prénom et NOM. : **Votre prénom et nom**
  -   Remplissez ensuite l'adresse de courriel : **votre.couriel@fai.com**
  -   Le commentaire est optionnel.

Validez par « O ».

Il faut maintenant fournir le mot de passe. : **password**

N.B. : Rien ne s'affiche lorsque vous tapez votre mot de passe dans la console. C'est une question de sécurité.

Afficher la clé pour récupérer votre clé publique
<code bash> 
gpg --list-keys Votre prénom et nom
</code>

<code>
pub   1024D/A6DB5A10 2010-01-10 [expire: 2010-02-09]
uid                  David Konsumer <david.konsumer@gmail.com>
sub   2048g/EC02BB2C 2010-01-10 [expire: 2010-02-09]
</code>

Recréer le paquetage avec cette clé publique

<code bash>
cd ..
debuild -k0xA6DB5A10 -S -sa --lintian-opts -i
</code>

Saisissez le mot de passe **password** lorsque on vous le demande

Le paquet a été corrigé.

Vous pouvez maintenant mettre a jour le chroot avec le nouveau paquet créer libgig et créer le paquet LinuxSampler.

<code bash>
cd ..
sudo pbuilder update --extrapackages libgig-dev libgig6 gigtools
sudo pbuilder --build linuxsampler*.dsc
</code>

Et à laisser mariner… en cas d'erreur de dépendance (eh oui cela peut encore arriver pendant la compilation) reprendre à l'étape **Création du paquet LinuxSampler** en ajoutant le paquet manquant avant de lancer le //build//, il est possible d'ajouter plusieurs paquet en les séparants avec une espace :

<code bash>
sudo pbuilder update --extrapackages nomdupaquetmanquant
</code>


=== Installer les packets ===

<code bash>
cd /var/cache/pbuilder/result
sudo dpkg -i gigtools*.deb libgig*.deb liblinuxsampler*.deb linuxsampler*.deb
</code>

===== Utilisation =====
Pour tester un son de piano par exemple, vous pouvez télécharger la banque de son Gigasampler du Maestro Concert Grand de Mats Helgesson.

Téléchargez le client [[http://sourceforge.net/projects/jsampler/|Fantasia]] pour linuxsampler ou [[http://www.linuxmao.org/tikiwiki/tiki-view_forum_thread.php?comments_parentId=19213&forumId=31|installez le en français]].

Lancez «linuxsampler» en console puis exécutez «JSampler-0.9/dist/Fantasia-0.9.jar» avec JAVA.

{{:application:linuxsampler:linuxsampler.png|}}

Il faut créer les périphériques MIDI (entrée) et AUDIO (sortie) sur ALSA (pour moi la sortie Jack ne fonctionne pas).

Créez une nouvelle piste et chargez-y un instrument :

{{:application:linuxsampler:capture-choose_instrument.png|}}

Faites les connexions dans Jack Control et si tout est OK vous pourrez enfin jouer sur le Maestro Grand Concert ou tout autre instrument. Si le son grésille trop il faut modifier les paramètres FRAGMENTS (4) et FRAGMENTSIZE (256) sur la sortie AUDIO ou installer le noyau temps réel linux-rt (voir sur [[http://www.linuxmao.org/tikiwiki/tiki-index.php?page=QSampler|Linux MAO]] pour en savoir plus).

<note important>Le chemin des répertoires des gigasamples ne doit pas contenir d'accents ou de caractères non ASCI</note>

--- //[[:utilisateurs:Sefran|Franc SERRES]] et [[http://www.pianopenguin.net/|Pianopenguin]] Le 11/01/2010, 01:07//